package com.jy.wms.service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.jy.wms.common.annotions.BaseServiceDescribe;
import com.jy.wms.common.base.BaseService;
import com.jy.wms.common.base.ServiceException;
import com.jy.wms.common.base.SucessException;
import com.jy.wms.dao.WmsCarrierMapper;
import com.jy.wms.pojo.WmsCarrier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
* @ClassName: WmsCarrierService.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author yjs
* @Date Fri Aug 17 14:17:09 GMT+08:00 2018
*/

@Service
public class WmsCarrierService extends BaseService<WmsCarrierMapper,WmsCarrier> {

 /**
 * 插入一条记录
 * @param entity 实体对象
 * @return int
 */
 @Transactional
 @BaseServiceDescribe(moduleName = "承运商类别", btnName = "增加承运商")
public void baseInsert( WmsCarrier entity) throws Exception{
     Integer i=dao.baseInsert( entity );
     if(i>0){
        throw new SucessException("新增成功");
     }else{
         throw new ServiceException("新增失败");
     }
}
    /**
     * 查询（根据主键ID查询）
     * @param mc 主键ID
     * @return WmsCarrier
     */
    public WmsCarrier baseSelectByPrimaryMc( String mc){
        return dao.baseSelectByPrimaryMc( mc );
    }
/**
* 插入一条记录（匹配有值的字段）
* @param entity 实体对象
* @return int
*/
public Integer baseInsertSelective( WmsCarrier entity){
     return dao.baseInsertSelective( entity);
}

/**
* 删除（根据主键ID删除）
* @param id 主键
* @return int
*/
public Integer baseDeleteByPrimaryKey( String id){
     return dao.baseDeleteByPrimaryKey( id);
}

/**
* 删除（根据ID 批量删除）
* @param idList 主键ID列表
* @return int
*/
public Integer baseDeleteBathPrimaryKeys( List<String> idList){
     return dao.baseDeleteBathPrimaryKeys( idList );
}

/**
* 分页查询
* @param entity 实体
* @return Page<WmsCarrier>
*/
public Page<WmsCarrier> baseSelectPage(WmsCarrier entity ){
    PageHelper.startPage(entity.getPage(),entity.getRows());
    return (Page<WmsCarrier>)dao.baseSelectPage( entity );
}

/**
* 查询（根据主键ID查询）
* @param id 主键ID
* @return WmsCarrier
*/
public WmsCarrier baseSelectByPrimaryKey( String id ){
     return dao.baseSelectByPrimaryKey( id );
}

/**
* 查询（根据ID 批量查询）
* @param idList 主键ID列表
* @return list
*/
public Integer baseSelectBathPrimaryKeys( List<WmsCarrier> idList ){
     return dao.baseSelectBathPrimaryKeys( idList );
}

/**
*修改 （匹配有值的字段）
* @param entity 主键ID列表
* @return int
*/
public Integer baseUpdateByPrimaryKeySelective( WmsCarrier entity){
     return dao.baseUpdateByPrimaryKeySelective( entity);
}

/**
*修改（根据主键ID修改）
* @param entity 主键ID列表
* @return int
*/
public Integer baseUpdateByPrimaryKey( WmsCarrier entity){
     return dao.baseUpdateByPrimaryKey( entity);
}
}
